#ifndef _GLOBAL_H_
#define _GLOBAL_H_

#include <winsock2.h>  // This must be included before "windows.h"
#include <windows.h>

#define HAVE_REMOTE    // This must be defined before "pcap.h"
#include <pcap.h>

// MAC for local NICs and gateway
extern u_char v4LocalMAC[6];
extern u_char v6LocalMAC[6];
extern u_char v6GatewayMAC[6];

// "Keep Running" mutexes 
extern HANDLE  v4RunMutex;
extern HANDLE  v6RunMutex;

// Handles for network cards
extern pcap_t *v4Handle;
extern pcap_t *v6Handle;

// Error buffer for two handles
extern char v4Errbuf[PCAP_ERRBUF_SIZE];
extern char v6Errbuf[PCAP_ERRBUF_SIZE];

// pcap_header for two handles
extern struct pcap_pkthdr *v4Header;
extern struct pcap_pkthdr *v6Header;

// Receive buffers for two handles
extern const u_char *v4RecvBuffer;
extern const u_char *v6RecvBuffer;

// Send buffers for two handles
extern u_char v4SendBuffer[1600];
extern u_char v6SendBuffer[1600];

#endif // _GLOBAL_H_